草庐IT

COM 引用计数

全部标签

windows - 使用 Mingw 创建 OpenCV 3.1 的共享版本时未定义对 cv::redirectError 的引用

程序和版本:Windows10、Mingw32withgcc6.1.0、Cmake3.6.1、(Code::blocks16.01)首先,我应该提到构建静态构建确实可以完美地工作,仅构建共享构建是行不通的,而且我没有找到针对我的特定问题的解决方法。我尝试使用上述程序作为共享构建来构建OpenCV3.1。使用cmake的默认设置,出现以下错误:[34%]LinkingCXXexecutable..\..\bin\opencv_test_core.exe../../lib/libopencv_ts310.a(ts.cpp.obj):ts.cpp:(.text$_ZN6cvtest2TS4i

windows - 尝试使用在 IDL 中创建的 COM 对象时出现链接器错误

我想在我的VS2012项目中使用一个COM对象。为了这些目的,我得到了一个描述该对象的IDL文件。我使用MIDL生成了一个(部分)如下所示的头文件:EXTERN_CconstCLSIDCLSID_COComponent;#ifdef__cplusplusclassDECLSPEC_UUID("blablabla")COComponent;#endif但是,当我将此header包含到我的项目中并尝试在CoCreateInstance调用中使用CLSID_COComponent时:。CComPtrm_IModelService;hRes=m_IModelService.CoCreateIn

windows - 如何在 Windows 上的 "for/F"循环命令中引用空格

我有以下for命令for/F%sin('"master\gradlew.bat"-q-pmasster')doecho%s而且我不能让它正常工作。这不是实际用例,而是一个简化得多的示例。执行"master\gradlew.bat"-q-p"master"工作正常,"master\gradlew.bat"-q-pmasster表示项目目录“mass”不存在(额外的“s”仅用于区分目的),master\gradlew.bat-q-pmasster说找不到命令“mas”。到目前为止如预期的那样,但现在我想让它在for循环中工作。for/F%sin('master\gradlew.bat-q-

相当于 `curl -v http://example.com/` 的 Python

我一直在试验不同的Python模块,例如pycurl和requests但仍然无法获得curl-v输出如下图。期望的输出(在Python代码中)C:\>curl-vhttp://example.com/*Trying93.184.216.34...*TCP_NODELAYset*Connectedtoexample.com(93.184.216.34)port80(#0)>GET/HTTP/1.1>Host:example.com>User-Agent:curl/7.52.1>Accept:*/*>...inputtruncated...*Curl_http_done:calledpre

java - 关于 com.jcraft.jsch.JSchException : UnknownHostKey: x. y.com 的查询。 DSA key 指纹为 "ac:ew:...."

我在尝试从AWS集群连接到其中一台Windows服务器时出现以下错误。Causedby:com.jcraft.jsch.JSchException:UnknownHostKey:x.y.com.DSAkeyfingerprintis"ac:ew:.....注意:我使用PuTTYgen生成了RSAkey,但每次它尝试连接时都会出现DSA指纹问题。我引用了多个SO链接,但无法获得正确的解决方案。最后,我根据其中一篇文章尝试了以下方法。首次使用StrictHostKeyChecking作为no获取session。完成后,将结果保存到AWS服务器上的已知主机文件,以便下次尝试连接到Window

c++ - 如何引用外部文件,即 Win/macOS Qt 项目中的图像?

我们可以加载图像到QPixmap做QPixmap("image.png");然后我们将image.png放在根项目文件夹中,它可以在Windows上运行。我的意思是,可执行文件会找到图像。我们也可以在macOS上轻松编译Qt项目。但是macOS可执行文件是不同的,它是一种文件夹,实际的可执行文件在下面,实际上在相对于图像的不同路径中。因此在运行时不会找到图像。处理该问题的一种方法是#ifdefQ_OS_MACX//CodethatwillonlybecompiledunderMACOSX#endif然后我们在代码库中到处重复这个,问题就会得到解决。有没有替代的单发解决方案?这样就没有必

c++ - COM 方法调用返回灾难性故障

注意:传递BSTR变量给COM方法,HRESULT返回8000FFFF之前使用接口(interface)指针进行的调用成功:HRESULT为0执行,在VisualStudio内部成功,在外部失败-发布和调试插图:constchar*simFile;simFile=newchar;//omitted_bstr_tsimFileToOpen(simFile);BSTRraw_sim_Open=simFileToOpen.copy();SysFreeString(simFileToOpen);deletesimFile;hresult=pis8->raw_Open(raw_sim_Open)

windows - 有没有办法减少与进程外 COM 调用相关的开销?

我们的程序使用了一个进程外的COM服务器,并对其接口(interface)进行了数千次调用。这需要非常非常长的时间——大约50k次调用需要一分钟。COM组件供应商表示调用本身非常快,问题在于与进程外调用相关的开销。在这种情况下,是否可以进行任何调整以减少开销? 最佳答案 我真的不认为没有供应商的帮助可以做很多事情。因为从本质上讲,进程外的com对象将比进程内的对象需要更多的编码等。如果您能让供应商提供帮助,有两种可能的选择。请他们为您提供进程内版本(dll),然后您可以将其托管在COM+中并生成多个实例(如果合适),这可能会有所帮助

windows - 从 VBScript 中的函数返回引用

我在VBScript上失去了理智。我到底如何才能将引用作为函数的返回值传递?目前我的代码是这样的:SetobjUser=FindUser("bendert")REMSearchesDirectoryfortheUserFunctionFindUser(UserLoginName)Wscript.Echo"QueryingADtoretrieveuser-data"SetobjConnection=CreateObject("ADODB.Connection")objConnection.Open"Provider=ADsDSOObject;"SetobjCommand=CreateOb

windows - 在所有未使用的情况下,进程外 COM 服务器最终是否应该停止?

我发现一个进程外的COM服务器以这样的方式实现(据推测是由于错误),如果客户端调用CoGetClassObject()然后从不尝试用服务器检索到的工厂实例化任何东西进程永远运行。COM服务器不是作为服务启动的,它是一个普通的可执行文件。在描述的场景中,客户端不会调用IClassFactory::LockServer(),所以这个问题是要完全忽略那些“服务器锁”。这是正确的行为吗?进程外COM服务器是否应该在一段时间内没有为对象提供服务后始终停止,或者是否应该存在进程外COM服务器即使不为任何对象提供服务也应该连续运行的情况? 最佳答案